The present invention relates to a network relaying apparatus and a network relaying method, or in particular to a network relaying apparatus including a router of a computer network system which is capable of searching at high speed for a destination of a packet input and a network relaying search method.
Generally, in a network system, a network relaying apparatus such as a router or a bridge is used for connecting a plurality of networks. The router checks the destination address of a packet received from a network or a subnet connected, determines the destination of the packet, and transfers the packet to a network or a subnet which is connected with the destination router or host.
FIG. 13 is a diagram showing a configuration of a conventional network relaying apparatus. In FIG. 13, a router 100 includes a routing manager (RM) 110, router buses 120, network interfaces (NIF) 130 and ports 140. Each port 140 is connected to an appropriate network 150.
Each network interface 130 receives a packet from a network connected to the port 140, and transmits the received packet through the router bus 120 to the routing manager 110. The routing manager 110 includes a routing table for holding the routing information, and using this routing information, determines the network 150 of the destination from the address of the packet received, and transmits the packet to the network interface 130 of the port 140 connected to the network 150. The network interface 130 that has received the packet from the routing manager 110 sends out the packet to the destination network 150. The routing manager 110 updates and maintains the routing information held in the routing table based on the header information of the packet received, and has the function of overall management of the router 100.
An explanation will be given of the route search process for searching for a port outputting the next address to which the packet is to be transferred upon receipt of the packet and outputting the packet. Normally, the route search uses a route search table (routing table) prepared from the component definition information and the information obtained by exchange between the routers. The routing table is for searching the information (next hop information) as to the output port, the next hop address and whether the network is directly connected or not with a set of the network address and the network mask length as a key.
As another conventional system, JP-A-05-199230 (U.S. Pat. No. 5,434,863) discloses an internetwork system and a communication network system which can flexibly meet the size requirement of the network without adversely affecting the high-speed routing process. In these systems, a router manager and a plurality of routing accelerator modules are coupled to each other with a high-speed bus Also, each routing accelerator is connected with a plurality of independent communication ports. In these conventional systems, a plurality of the routing accelerators makes possible a high-speed routing and by adding the routing accelerators, the requirement for increasing the network size can be easily met.
In recent years, the demand has increased for the dynamic routing in which the relaying information for routing is dynamically generated, added, changed or deleted by recognizing the configuration of the network in operation. Specifically, the router requires the processing of the routing protocol (such as the Routing Information Protocol (RIP) or Open Shortest Path First (OSPF) included in TCP/IP protocol group) for exchanging information on the network between the routers. Further, the processing of the network management protocol (such as Simple Network Management Protocol (SNMP) which is one of the TCP/IP protocol group) for communication of the management information such as the performance of the router with a management master station on the network is performed unavoidably by the routing means in the prior art. This makes it impossible for the router to exhibit the relaying performance sufficiently. The conventional router, therefore, cannot easily meet the requirement of the high-speed lines such as the high-speed LAN (Local Area Network), the wide-band ISDN (Integrated Services Digital Network) and ATM (Asynchronous Transfer Mode) that have recently found practical applications.
Also, in the conventional router which has routing means only at one part, the number of the ports and the communication traffic that can be supported is limited. It is therefore difficult to expand the structure of the port menu or improve the performance of the router smoothly in accordance with the traffic and the number of ports.
On the other hand, with the increase in the speed of the network, the data processing system used with the router and the bridge requires an increased speed of the network controller reading transmission packets from a memory or writing the received packets into a memory. Further, in order to compensate for the performance reduction due to the competition with the processor for memory access, the conventional system is required to limit the number of network controllers incorporated therein or requires, though low in cost effectiveness, the use of a high-speed memory or a dual port memory accessible from the processor or the network controller asynchronously.
The router is connected with a plurality of networks and relays the packets without connection. For this reason, packets may be concentrated in a router. Therefore, the prior art cannot secure the quality of service (QoS) such as the band control, the priority control or the discard control (for example, the band cannot be secured or packets cannot be transmitted within a specified time).
In view of the facts described above, an object of the present invention is to provide a network relaying apparatus and method capable of high-speed routing while assuring a high quality of service (QoS), high reliability and security.
Another object of the invention is to provide a relaying apparatus and method of high applicability and high expandability which can meet the requirement for a variety of lines and sizes and is easy to improve the system performance.
Still another object of the invention is to provide a relaying apparatus and method in which the types of protocol that can be processed can be increased to facilitate the connection with the existing systems.
Yet another object of the invention is to execute high-speed operation of route search or the like by use of a high-speed memory as some of the parts into which the storage unit is divided.
A further object of the invention is to improve the packet processing capacity by suppressing the competition for access to the memory for storing packets without using any unnecessarily high-speed memory or a dual-port memory.
According to a first aspect of the invention, there is provided a network relaying apparatus connecting a plurality of networks for transferring packets input from the networks to the next destination based on the route information, comprising:
at least a network interface connected to the networks for controlling the interface with the networks;
at least a routing processor having a packet buffer and a header memory readable and writable at high speed and connected with one or a plurality of network interfaces for routing the packets input from the network interfaces;
a routing manager for managing the internal parts of the apparatus; and
a connector for connecting the routing manager and a plurality of the routing processors respectively;
wherein the first network interface outputs the packets input from the networks to the first routing processor connected with the first network interface;
wherein the first routing processor stores the input packets in a packet buffer and the header information on the input packets in a header memory;
wherein the header memory is accessed to search for the destination of the input packets stored in the packet buffer based on the stored header information;
wherein an output packet is produced from the input packet stored in the packet buffer and the header information stored the header memory;
wherein the output packet is output to the connector in the case where the searched route to the destination is passed through another routing processor; and
wherein the connector transmits the output packet from the first routing processor to a second routing processor of the searched destination.
According to a second aspect of the invention, there is provided a network relaying method for a network relaying apparatus comprising a network interface connected to the networks, a routing processor for routing the packets input from the network interfaces, a routing manager for managing the internal parts of the system, a connector for connecting a plurality of the routing processors, and means for outputting the packets input from the networks to the destination, comprising the steps of;
causing the first network interface to output the packets input from the network to the first routing processor connected with the first network interface;
causing the first routing processor to store the input packets in a packet buffer and the header information on the input packet in a high-speed readable and writable header memory independent of the packet buffer;
causing the first routing processor to access the header memory and search for a destination of the input packet stored in the packet buffer based on the stored header information;
causing the first routing processor to produce an output packet from the input packet stored in the packet buffer and the header information stored in the header memory;
causing the first routing processor to output the output packet to the connector in the case where the route to the searched destination passes through another routing processor; and
causing the connector to transmit the output packet input from the first routing processor to the second routing processor of the searched destination.